package habitcoach.core.task;

public interface Task
{
	/**
	 * Get task status
	 * 
	 * @return task status
	 */
	public TaskStatus getStatus();

	/**
	 * Set task status.
	 * 
	 * @param status
	 */
	public void setStatus(TaskStatus status);

	/**
	 * Get task rating. The rating is feedback by the user in order to keep
	 * track of how things go.
	 * 
	 * @return rating of the task
	 */
	public TaskRating getRating();

	/**
	 * Set task rating.
	 * 
	 * @param rating
	 */
	public void setRating(TaskRating rating);

	final static TaskStatus DEFAULT_STATUS = TaskStatus.UNSTARTED;
	final static TaskRating DEFAULT_RATING = TaskRating.GOOD;
}
